package com.gable.report.service;

import com.gable.report.model.ChartsOverviewQuery;

import java.util.Map;

/**
 * @Author: 杨青桦
 * @Description:  医院报表 总览页面业务逻辑层接口
 * @Date: 2018/1/17 11:05
 */
public interface ChartsForHospitalOverviewService {


    /**
     * @Author: 杨青桦
     * @Description: 医院所在地区信息
     * @Date: 2018/1/17 11:12
     * @param hospitalId
     * @return
     */
    Map<String,Object> queryHospitalRegion(Long hospitalId);

    /**
     * @Author: 杨青桦
     * @Description:  设备运行情况(页面左侧上半部分)
     * @Date: 2018/1/17 11:06
     * @param hospitalId
     * @return
     * 业务修改：接口分开 2018-1-24
     */
    Map<String,Object> queryAssetsBase(Long hospitalId, ChartsOverviewQuery chartsOverviewQuery);

    /**
     * @Author: 杨青桦
     * @Description:  查询重点设备
     * @Date: 2018/1/30 11:09
     * @param hospitalId
     * @param chartsOverviewQuery
     * @return
     */
    Map<String,Object> queryKeyPointAssets(Long hospitalId, ChartsOverviewQuery chartsOverviewQuery);



    /**
     * @Author: 杨青桦
     * @Description:  查询设备总绩效及分类绩效
     * @Date: 2018/1/24 11:37
     * @param hospitalId
     * @return
     */
    Map<String,Object> queryPerformance(Long hospitalId , ChartsOverviewQuery chartsOverviewQuery);

    /**
     * @Author: 杨青桦
     * @Description:  查询设备总绩效
     * @Date: 2018/3/16 16:39
     * @param hospitalId
     * @param chartsOverviewQuery
     * @return
     */
    Map<String,Object> queryPerformanceForAll(Long hospitalId , ChartsOverviewQuery chartsOverviewQuery);

    /**
     * @Author: 杨青桦
     * @Description:  查询设备平均故障率及分类故障率
     * @Date: 2018/1/24 14:09
     * @param hospitalId
     * @return
     */
    Map<String,Object> queryAvgFaultRate(Long hospitalId);

    /**
     * @Author: 杨青桦
     * @Description:   查询运维情况(年度)
     * @Date: 2018/1/18 13:29
     * @param hospitalId
     * @return
     */
    Map<String,Object> queryMaintenanceConditionsByYear(Long hospitalId, ChartsOverviewQuery chartsOverviewQuery);

    /**
     * @Author: 杨青桦
     * @Description:  查询运维情况(当月)
     * @Date: 2018/1/18 13:29
     * @param hospitalId
     * @return
     */
    Map<String,Object> queryMaintenanceConditionsByMonth(Long hospitalId, ChartsOverviewQuery chartsOverviewQuery);


    /**
     * @Author: 杨青桦
     * @Description:  警示事项数量统计
     * @Date: 2018/1/17 14:51
     * @param hospitalId
     * @return
     */
    Map<String,Object> queryWarningItems(Long hospitalId);


    /**
     * @Author: 杨青桦
     * @Description: 警示事项详情
     * @Date: 2018/1/18 17:05
     * @param hospitalId
     * @return
     */
    Map<String,Object> queryWarningList(Long hospitalId,Integer tag);


    /**
     * @Author: 杨青桦
     * @Description:  查询统计详情
     * @Date: 2018/1/31 13:48
     * @param hospitalId
     * @param chartsOverviewQuery
     * @return
     */
    Map<String,Object> queryStatistics(Long hospitalId,ChartsOverviewQuery chartsOverviewQuery);


    /**
     * @Author: 杨青桦
     * @Description: 使用率
     * @Date: 2018/1/31 14:41
     * @param hospitalId
     * @param chartsOverviewQuery
     * @return
     */
    Map<String,Object> queryUsageRateForFirstType(Long hospitalId,ChartsOverviewQuery chartsOverviewQuery);

    /**
     * @Author: 杨青桦
     * @Description:  维修记录气泡图
     * @Date: 2018/3/16 12:58
     * @param hospitalId
     * @param chartsOverviewQuery
     * @return
     */
    Map<String,Object> queryRepairRecords(Long hospitalId,ChartsOverviewQuery chartsOverviewQuery);

    /**
     * @Author: 杨青桦
     * @Description:  聊天记录
     * @Date: 2018/3/21 11:53
     * @param hospitalId
     * @param chartsOverviewQuery
     * @return
     */
    Map<String,Object> queryRepairChatGroups(Long hospitalId,ChartsOverviewQuery chartsOverviewQuery);

    /**
     * 创建群组时已经添加设备科及以上的管理，所以暂时不使用此接口
     * @Author: 杨青桦
     * @Description:  添加聊天成员
     * @Date: 2018/3/28 19:12
     * @param hospitalId
     * @param userId
     */
    void addMemberForGroup(Long hospitalId,Long userId);
}
